Contents page

Rules for Tools/struct ToolMaster


struct ToolMaster
The ToolMaster structure defines the routines, images, name, and size that describe
your Tool.

struct ToolMaster {
    struct ToolMaster *next;    /* Next tool in this list. */
    long toolid;                /* Tool ID. */
    struct Image *image;        /* Icon for this tool. */
    struct Image *upimage;      /* Icon for branching up. */
    short x,y;                  /* Position in toolbox for display. */
    char name[100];             /* Tool name. */
    char filename[100];         /* Where it is stored on disk. */
    struct Tool *(*createtool)();/* Routine to allocate a new tool. */
    void (*edittool)();         /* Routine to edit tool parameters. */
    struct Event *(*processevent)();/* Routine to process an event. */
    void (*processclip)();      /* Routine to process an entire clip. */
    void (*deletetool)();       /* Routine to delete a tool. */
    void (*removetool)();       /* Routine to close down. */
    long (*savesize)();         /* Returns size prior to save. */
    long (*savetool)();         /* Routine to save to disk. */
    struct Tool *(*loadtool)(); /* Routine to load from disk. */
    long (*expanda)();          /* Future routine? */
    long (*expandb)();          /* Future routine? */
    long (*expandc)();          /* Future routine? */
    long segment;               /* This tool's segment list. */
    long altsegment;            /* Alternate segment list. */
    struct Track *intrack;      /* Input track for this tool. */
    short toolsize;             /* Tool size for loading and saving. */
    char inedit;                /* Flag to indicate editing now. */
    char selected;              /* Icon selected in graph. */
    long tooltype;              /* Type of tool. */ 
};